package com.ap.core.business.message.domain.translators;


import com.ap.core.exception.BusinessFailureException;

/**
 * User: Ranjit.Singh
 * Translator to translate bound object <BO> domain object
 */
public interface Translator<BO> {

    /**
     * Translate bound object to domain object
     * @param boundObject  - jaxb bound object
     * @param metaData    - binding meta data
     * @param bindingListener - binding listener to give call back to message processor
     */
    void translate(BO boundObject, BindingMetaData metaData, BindingListener bindingListener) throws BusinessFailureException;
}
